home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / change2a / module1.bas next >
BASIC Source File  |  1999-09-14  |  1KB  |  47 lines

  1. Attribute VB_Name = "Module1"
  2. Option Explicit
  3.  
  4. Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
  5.      
  6. Dim msBMPList() As String
  7.  
  8. Public Const SPI_SETDESKWALLPAPER = 20
  9. Public Const SPIF_SENDWININICHANGE = &H2
  10. Public Const SPIF_UPDATEINIFILE = &H1
  11.  
  12. Sub Main()
  13.     AddToArray "C:\WinNT\BMPs\"
  14.     
  15.     Randomize
  16.     SetWallpaper msBMPList(Int((UBound(msBMPList) * Rnd) + 1))
  17. End Sub
  18.  
  19. Public Sub SetWallpaper(ByVal FileName As String)
  20.   Dim x As Long
  21.     
  22.     x = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, FileName, SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE)
  23. End Sub
  24.  
  25. Sub AddToArray(sStartPath)
  26.     Dim iCount As Integer
  27.     Dim sFileName As String
  28.  
  29.     iCount = 0
  30.     Erase msBMPList
  31.     sFileName = Dir(sStartPath)
  32.     
  33.     Do While sFileName <> ""
  34.         
  35.         If UCase(Right(sFileName, 4)) = ".BMP" Then
  36.             iCount = iCount + 1
  37.             ReDim Preserve msBMPList(1 To iCount) As String
  38.             msBMPList(iCount) = sStartPath & sFileName
  39.         End If
  40.         
  41.         sFileName = Dir
  42.     Loop
  43.     
  44. End Sub
  45.  
  46.  
  47.